package com.test;

import java.util.Random;

public class ArrayTest9 {
    public static void main(String[] args) {
        /*
        需求:定义一个数组，存入1~5。要求打乱数组中所有数据的顺序。
         */
        //难点：
        //获取随机索引

        //1.定义数组存储1-5
        int []arr={1,2,3,4,5};
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println(" ");
        //2.循环遍历数组，从0索引开始打乱数据的顺序
        Random random = new Random();
        for (int i = 0; i < arr.length; i++) {
            //Z生成一个随机索引
            int index = random.nextInt(arr.length);
            //用随机索引指向的元素与i指向的元素进行交换
            int temp=arr[i];
            arr[i]=arr[index];
            arr[index]=temp;
        }
        //当循环结束之后，数组中的数据已经打乱顺序了
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }


    }
}
